/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package alpes.aerolinea;

import alpes.aerolinea.entities.ServicioVideoSeries;
import alpes.aerolinea.services.ISeriesDeTvService;
import alpes.aerolinea.services.SeriesDeTvService;
import javax.faces.event.ActionEvent;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.component.UIParameter;
import javax.faces.context.FacesContext;

/**
 *
 * @author Daniel
 */
public class SeriesDeTvMenuBeanAdministrador {

    private List<ServicioVideoSeries> series;
    @EJB
    private ISeriesDeTvService seriesDeTvService;
    private ServicioVideoSeries serie;
    private String nombreSerie;
    private String id;

    /** Creates a new instance of SeriesDeTvMenuBeanAdministrador */
    public SeriesDeTvMenuBeanAdministrador() {
        
    }

    @PostConstruct
    public void init() {
        series = seriesDeTvService.findAll();
        serie = seriesDeTvService.getSerie();
    }

    public List<ServicioVideoSeries> getAllSeriesTv() {
        return series;
    }

    public ServicioVideoSeries getSerie() {
        return serie;
    }

    public void setSerie(ServicioVideoSeries serie) {
        this.serie = serie;
    }

    public String createOrUpdate() {
        System.out.println("1");
        serie = seriesDeTvService.createOrUpdate();
        destroyBean();
        return null;
    }

    public String newSerie() {
        serie = seriesDeTvService.newSerie();
        System.out.println("Nueva serie!!");
        return null;
    }

    public void delete(ActionEvent event) {
        UIParameter component = (UIParameter)event.getComponent().findComponent("nombreSerie");
        nombreSerie = component.getValue().toString();
        System.out.println("delete series " + nombreSerie);
        seriesDeTvService.setNombre(nombreSerie);
        seriesDeTvService.delete();
        destroyBean();
    }

    /**
     * Elimina la instancia actual del bean.
     */
    public void destroyBean() {
        FacesContext.getCurrentInstance().getExternalContext().getSessionMap().remove("SeriesDeTvMenuBeanAdministrador");
    }

    /**
     * asigna la serie que actualmente este seleccionada.
     * @param event
     * @return resultado de la operacion 
     */
    public String findByNombre(ActionEvent event) {
        UIParameter component = (UIParameter)event.getComponent().findComponent("nombreSerie0");
        nombreSerie = component.getValue().toString();
        serie = seriesDeTvService.setNombre(nombreSerie);
        System.out.println("SERIE:" + serie);
        return null;
    }
        /**
     * asigna la serie que actualmente este seleccionada.
     * @param event
     * @return resultado de la operacion
     */
    public String findByID(ActionEvent event) {
        UIParameter component = (UIParameter)event.getComponent().findComponent("nombreSerie0");
        id = component.getValue().toString();
        serie = seriesDeTvService.setIdentification(id);
        System.out.println("SERIE:" + serie);
        return null;
    }

    public String getNombreSerie() {
        return nombreSerie;
    }

    public void setNombreSerie(String nombreSerie) {
        this.nombreSerie = nombreSerie;
    }
}
